تبدیل واحدهای وزن و جرم و .... به یکدیگر: برنامه اي بنويسيد كه دمايي در واحد درجه فارنهايت را از ورودي بخواند و مقدار آن را با واحد درجه سانتيگراد نمايش دهد.
oC = 5/9 * ( F – 32 )
- برنامهایبنويسيدکه دو عدد را از ورودي گرفته و بدون استفاده از متغير كمكي محتواي آن دو را با هم عوض نمايد.
a=input(' ');
b=input(' ');
a = a + b;
b = a – b;
a = a – b;
- برنامه ای که سن شما را به صورت روز/ماه/سال گرفته و بگوید که چند روز از تولد شما می گذرد.
sal = input('sal: ');
mah = input('mah: ');
rooz = input('rooz: ');
count = sal*365 + mah*30 + rooz;
- برنامه ای که سن شما را به صورت روز گرفته و بگوید که چند روز/ماه/سال از تولد شما می گذرد.
r=input('rooz: ');
n=mod(r,365); % rooz-haye mazade bar sal
y=(r-n)/365; % te'dad sal
d=mod(n,30); % te'dad rooz, rooz-haye mazade bar mah
m=(n-d)/30; % te'dad mah
printf('year = %d, month = %d, day = %d', y, m, d);
- برنامه ای که که یک کاراکتر را گرفته و کد اسکی آن را چاپ کند.
- تابع محاسبۀ بزرگترین مقسوم علیه مشترک
- تابع محاسبۀ کوچکترین مضرب مشترک
- تابعی برای یافتن بزرگترین عدد در یک آرایه
function max=maxA(A)
n=length(A);
max=A(1);
for i=2:n
if A(i)>max
max=A(i);
end
end
- تابعی برای یافتن کوچکترین عدد در یک آرایه
- تابعی برای یافتن دومین عدد بزرگ در یک آرایه
function max2=max2A(A)
n=length(A);
max=A(1);
for i=2:n
if A(i)>max
max2=max;
max=A(i);
end
end
- پیدا کردن مجموع ارقام یک عدد
- برنامه اي بنويسيد كه شعاع دايره را از ورودي گرفته و محيط و مساحت آن دايره را محاسبه كرده و نمايش دهد.
- برنامهای بنويسيد كهتعدادنامشخصیعددراازورودیخوانده و تعداداعدادزوجوتعداد فرد خوانده شده رامشخصنمايد(شرطانتهایحلقهورودعددصفراست(
- برنامه ای که روشهای مختلف خرد کردن یک 1000 تومانی را با اسکناسهای 500، 200، 100 و 50 تومانی نشان دهد.
- نحوۀ پرداخت یک مبلغ با اسکناسها و سکه های 2000 تا 1 تومانی
- محاسبۀ سری زیر تا 10 جمله
f = x - x^3 / 3! + x^5 / 5! - x^7 / 7! + ...
- در یک اداره کارمندان به ازای حداکثر 40 ساعت کارکرد در هفته ساعتی 5000 تومان دریافت میکنند و برای ساعتهای بیشتر از 40 ساعت، به ازای هر ساعت 4000 تومان دریافت میکنند. برنامه ای بنویسید که با دریافت میزان کارکرد یک کارمند بر حسب ساعت، میزان دستمزد او را محاسبه کند.
saatKar = input('Saat-e Kar: ');
if saatKar > 40
pay = 40*5000 + (saatKar - 40)*4000;
else
pay = saatKar*5000
end
- برنامه ای بنویسید که بزرگترین عدد پنج رقمی سری فیبونانچی را حساب کند. سری فیبونانچی:
fibo(1) = fibo(2) = 1
fibo(n) = fibo(n-1) + fibo(n-2)
=> fibo=[1 1 2 3 5 8 13 21 34 …]
fibo=[1 1];
i=2;
while fibo(i) < 100,000
i=i+1;
fibo(i) = fibo(i-1) + fibo(i-2);
end
max5dig = fibo(i-1);
- برنامه اي بنويسيد كه عدد صحيح nرا از ورودي خوانده و مثلث خيام (مانند شكل زير) را تا سطر nام به کمک یک ماتریس ساخته و چاپ كند:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 ... ... ... ...
این مثلث اعداد را مثلث خیام نیوتن میگویند. اگر ماتریسی را بهاین شکل در نظر بگیریم:
1 .. .. .. .. ..
1 1 .. .. .. ..
1 2 1 .. .. ..
1 3 3 1 .. ..
1 4 6 4 1 ..
.. .. .. .. .. ..
میتوان گفت هر درایۀ ماتریس پایین مثلثی از جمع دو درایۀ بالا وبالا سمت چپ خود درست شده است یعنی:
ai,j = ai-1,j + ai-1,j-1
- برنامه اي بنويسيد كه عددي را از ورودي خوانده و مغلوب آن را بدست آورد.
مثال: ورودي: 1234 خروجي: 4321
- برنامهایبنويسيدکهمجموعمربعاتاعدادبين 1 تا 100 رادرخروجینمايشدهد.
- تابعی بنویسید که یک رشته را که در آن عدد صحیح ذخیره شده به عدد صحیح تبدیل کند.
- تابعی بنویسید که یک رشته را که در آن عدد اعشاری ذخیره شده به عدد اعشاری تبدیل کند.
- تابعی بنویسید که یک رشته را در یک رشتۀ دیگر کپی کند.
- تابعی بنویسید که طول یک رشته را محاسبه كند.
- تابعي بنويسيد كه دو رشته كاراكتري را از ورودي گرفته و اولين محل شروع رشته دوم در رشته اول را برگرداند. در صورتي كه رشته دوم در رشته اول يافت نشد عدد 1- را برگرداند.
به عنوان مثال:
s1='I am omid omidi.'
s2='omid.'
خروجي: 6
function m=find(s1,s2)
i=1;
while s1(i)~='.'
j=1;
k=i;
while ( s1(k)==s2(j) && s1(k)~='.' )
if s2(j+1)=='.'
m=i;
return
end
j=j+1;
k=k+1;
end
i=i+1;
end
m=-1;
و يا بدون استفاده از دستور return:
function m=find(s1,s2)
i=1;
flag=0;
while s1(i)~='.'
j=1;
k=i;
while ( s1(k)==s2(j) && s1(k)~='.' )
if s2(j+1)=='.'
m=i;
flag=1;
break
end
j=j+1;
k=k+1;
end
if flag
break
end
i=i+1;
end
if ~flag
m=-1;
end
تابعی بنویسید که قسمتی از یک رشته را که انتها و ابتدایش را مشخص میکنیم در یک رشتۀ دیگر کپی کند. (تابعی به صورت strcpy2 ).
- تابعی بنویسید که رشته ای را در محل مشخص شده از رشته ای دیگر درج (insert) کند.
مثال: ورودي: ch='I am sorry.'و st=' very.' در خانه 5ام خروجي: ch='I am very sorry.'
- تابعی بنویسید که از مکان مورد نظر ما در یک رشته به تعداد مورد نظر ما کاراکتر حذف (delete) کند.
- تابعی برای محاسبۀ انحراف معیار اعداد یک آرایه بنویسید. فرمول انحراف معیار:
- برنامه ای بنویسید که بزرگترین عدد را در یک آرایۀ 10*10 که از صفحه کلید خوانده پیدا کرده و به همراه اندیس آن در ماتریس، چاپ کند.
- تابعی بنویسید که دو ماتریس را با هم جمع کند.
- تابعی بنویسید که دو ماتریس را در هم ضرب کند.
- تابعی بنویسید که ترانهادۀ یک ماتریس را محاسبه کند (بدون استفاده از عملگر ' ). (ترانهادۀ یک ماتریس، ماتریسی است که جای سطرها و ستونهای آن با هم عوض شده باشند)
- تابعی بنویسید که آرایه ای از رشته ها را مرتب کند.
- برنامه ای بنویسید که یک آرایه صحیح و یک عدد از کاربر دریافت کرده آن عدد را در آرایه جستجو نماید و اندیس مربوط را بر گرداند.
- برنامه ای بنویسید که نام 10 دانشجو را در قالب رشته دریافت کرده و نامهای تکراری را حذف کند.
- برنامه ای بنویسید که 10 عدد از کاربردریافت کرده وآنها را ازکوچک به بزرگ مرتب کند.
- تابعی که دو رشته از کاربر دریافت کرده و تعداد تکرار رشته دومی در رشته اولی را شمرده و برگرداند.
s1=' i have a book and my book is blue.'
s2= 'book.'
count=0;
i=1;
while s1'(i)~='.'
j=1;
k=i;
while s1(k)==s2(j)
j=j+1;
k=k+1;
if s2(j)=='.'
count=count+1;
i=k;
break
end
end
i=i+1;
end
- تابع بازگشتی بنویسید که عددی را دریافت کرده و مجموع ارقام آن را برگرداند.
مثال: ورودي: n=1562 خروجي: m=14
function m=argham(n)
m = 0;
r = n;
while r>0
m = m + mod(r,10);
r = ( r - mod(r,10) ) / 10;
end
or
% ta'iine te'dade arghame adade voroudi:
% (farz shode ast ke adade voroudi mitavanad maximum 50 raghami bashad!)
for i=1:51
if n<10^i
break
end
end
% "i" haman te'dade arghame adade voroudi ra neshan midahad
m = 0;
r = n;
for j=1:i
m = m + mod(r,10);
r = ( r - mod(r,10) ) / 10;
end
- برنامه ای بنویسید که دو آرایه مرتب 10 عنصری از اعداد صحیح از کاربردریافت کرده و دو آرایه را به نحوی در هم ادقام کند که آرایه حاصل هم مرتبباشد.
مثال:
ورودي: a=[1 2 3 5 6 8 11 15 22 30], b=[ 2 4 6 7 8 10 12 14 15 20]
خروجي: c=[1 2 2 3 4 5 6 6 7 8 8 10 11 12 14 15 15 20 22 30]
- تابعی بنویسید که دو عدد صحیح را در یافت کرده و ب.م.م و ك.م.م آن دو عدد را محاسبه كرده ونتيجه را بر گرداند.
- برنامه ای بنويسيد كه عددی را در مبنای 2 بگیرد و به مبنای 5 ببرد (راهنمايي: عدد مبداً را به مبناي 10 برده و دوباره آن را با روش معكوس به مبناي هدف تبديل كنيد).
مثال:
ورودي: a=1101
در مبناي 10: 1*2^0 + 0*2^1 + 1*2^2 + 1*2^3 = 1 + 0 + 4 + 8 = 13 => m=13
خروجي (در مبناي 5): 13 = 3*5^0 + 2*5^1 => b=23
function b=mabnaye2be5(a)
m=0; % m = adade dar mabnaye 10
r=a;
tavan=0;
while r>0
m = m + mod(r,10)*2^tavan;
r = ( r - mod(r,10) ) / 10;
tavan = tavan +1;
end
b=0; % b = adade dar mabnaye 5
tavan=0;
while m>0
if ~tavan
b = b + mod(m,5);
m = m - mod(m,5);
else
r = m / 5^tavan;
if r<5
b = b + r*10^tavan;
m = m – r*5^tavan;
else
b = b + mod(r,5)*10^tavan;
m = m – mod(r,5)*5^tavan;
end
end
tavan = tavan +1;
end
نظرات شما عزیزان:
.: Weblog Themes By Pichak :.